STRSEP(3) | Linux Programmer's Manual | STRSEP(3) |
名前¶
strsep - 文字列からトークンを取り出す
書式¶
#include <string.h> char *strsep(char **stringp, const char *delim);
glibc
向けの機能検査マクロの要件
(feature_test_macros(7) 参照):
strsep(): _BSD_SOURCE
説明¶
*stringp が NULL の場合、 strsep() 関数は何もせずに NULL を返す。 さもなければ、文字列 stringp を delim に含まれる文字で区切った トークンのうち最初のものを返す。 トークンは (区切り文字を上書きすることによって) '\0' 文字で終端され、 *stringp は切り出されたトークンの次の位置を示すように更新される。 区切り文字が見つからない場合、*stringp 文字列全体がトークンとして 扱われ、*stringp は NULL となる。
返り値¶
strsep() 関数は、トークンへのポインタを返す。 つまり、元の *stringp の値を返す。
準拠¶
4.4BSD.
注意¶
strsep() 関数は、 strtok(3) 関数が空のフィールドを 扱えないために、その代替品として導入された。 しかしながら、 strtok(3) 関数は C89/C99 に準拠しており、より移植性がある。
バグ¶
この関数を使う時は注意すること。 もし使うなら、以下のことに注意すること。
- この関数は最初の引数を変更する。
- この関数は定数文字列には使えない。
- 区切り文字が何であったか分からなくなる。
関連項目¶
index(3), memchr(3), rindex(3), strchr(3), strpbrk(3), strspn(3), strstr(3), strtok(3)
2009-01-16 | GNU |